#pragma once
#include <Windows.h>
class InputState;

class InputStateManager
{
public:
	InputStateManager();
	virtual ~InputStateManager();

	void setMousePos(POINTS point);
	void setLMBPressed(bool pressed);
	void setRMBPressed(bool pressed);
	void setWheelPos(short delta);

	InputState GenerateInputState();

	static const int NUMKEYS = 256;

protected:

private:
	POINTS m_oldMousePos, m_MousePos;
	unsigned char m_Keys[NUMKEYS];
	bool m_LMBPressed, m_RMBPressed;
	short m_WheelPos;

	InputStateManager(const InputStateManager& yRef);
	InputStateManager& operator=(const InputStateManager& yRef);
};